package org.toves.checklua.scan;


public class LuaToken {
	private LuaToken() { }
	
	public static final TokenType LPAREN = new TokenType("(");
	public static final TokenType RPAREN = new TokenType(")");
	public static final TokenType LBRACK = new TokenType("[");
	public static final TokenType RBRACK = new TokenType("]");
	public static final TokenType LBRACE = new TokenType("{");
	public static final TokenType RBRACE = new TokenType("}");
	public static final TokenType APPEND = new TokenType("..");
	public static final TokenType ASSIGN = new TokenType("=");
	public static final TokenType CARET = new TokenType("^");
	public static final TokenType COLON = new TokenType(":");
	public static final TokenType COMMA = new TokenType(",");
	public static final TokenType DOT = new TokenType(".");
	public static final TokenType ELLIPSIS = new TokenType("...");
	public static final TokenType EQ = new TokenType("==");
	public static final TokenType GE = new TokenType(">=");
	public static final TokenType GT = new TokenType(">");
	public static final TokenType LE = new TokenType("<=");
	public static final TokenType LT = new TokenType("<");
	public static final TokenType MINUS = new TokenType("-");
	public static final TokenType NE = new TokenType("~=");
	public static final TokenType PERCENT = new TokenType("%");
	public static final TokenType PLUS = new TokenType("+");
	public static final TokenType SEMI = new TokenType(";");
	public static final TokenType SHARP = new TokenType("#");
	public static final TokenType SLASH = new TokenType("/");
	public static final TokenType STAR = new TokenType("*");

	public static final TokenType AND = new TokenType("and");
	public static final TokenType BREAK = new TokenType("break");
	public static final TokenType DO = new TokenType("do");
	public static final TokenType ELSE = new TokenType("else");
	public static final TokenType ELSEIF = new TokenType("elseif");
	public static final TokenType END = new TokenType("end");
	public static final TokenType FALSE = new TokenType("false");
	public static final TokenType FOR = new TokenType("for");
	public static final TokenType FUNCTION = new TokenType("function");
	public static final TokenType IF = new TokenType("if");
	public static final TokenType IN = new TokenType("in");
	public static final TokenType LOCAL = new TokenType("local");
	public static final TokenType NIL = new TokenType("nil");
	public static final TokenType NOT = new TokenType("not");
	public static final TokenType OR = new TokenType("or");
	public static final TokenType REPEAT = new TokenType("repeat");
	public static final TokenType RETURN = new TokenType("return");
	public static final TokenType THEN = new TokenType("then");
	public static final TokenType TRUE = new TokenType("true");
	public static final TokenType UNTIL = new TokenType("until");
	public static final TokenType WHILE = new TokenType("while");

	public static final TokenType IDENT = new TokenType("name");
	public static final TokenType STRING = new TokenType("string constant");
	public static final TokenType NUMBER = new TokenType("numerical constant");
	
	public static final TokenType UNTERMINATED_STRING
		= TokenType.createErrorType("unterminated string constant");
}
